/**
 * This library is in concern of developers of games with MATRIX PlayGround
 */
package matrix;

/**
 * Интерфейс для разработчиков ячейки {@linkplain matrix.IRange Матрицы}.
 */
public interface ICell {
	/**
	 * Возвращает (родительскую) область, содержащую данную
	 * @return {@linkplain matrix.IRange IRange}
	 */
//	abstract IRange parent();
	/**
	 * Возвращает номер строки орбласти, содержащей данную ячейку (привязка к родительской области).
	 * Не может быть меньше 1 и больше {@linkplain matrix.IRange#rows() rows()} родительской области 
	 * @return номер строки родительской области
	 * @see matrix.IRange#rows()
	 */
	abstract int row();
	/**
	 * Возвращает номер колонки области, содержащей данную ячейку (привязка к родительской области). 
	 * Не может быть меньше 1 и больше {@linkplain matrix.IRange#columns() columns()} родительской области 
	 * @return номер левой колонки родительской области
	 * @see matrix.IRange#columns()
	 */
	abstract int column();
	/**
	 * Заготовка метода сброса состояния Ячейки.
	 */
	abstract void clear();
}
